#layout[lanmu="layout"] {
  height: 100vh;
  width: 100vw;
  display: flex;

  .fade-enter-from { /* 进入时的透明度为0 和 刚开始进入时的原始位置通过active透明度渐渐变为1 */
    opacity: 0;
    transform: translateX(-20%);
  }

  .fade-enter-to { /*定义进入完成后的位置 和 透明度 */
    transform: translateY(0%);
    opacity: 1;
  }

  .fade-leave-active, .fade-enter-active {
    transition: all 0.1s ease-out;
  }

  .fade-leave-from { /* 页面离开时一开始的css样式,离开后为leave-to，经过active渐渐透明 */
    transform: translateY(0%);
    opacity: 1;
  }

  .fade-leave-to { /* 这个是离开后的透明度通过下面的active阶段渐渐变为0 */
    transform: translateY(20%);
    opacity: 0;
  }

  .left {
    background-color: #0f2438;

    display: flex;
    flex-direction: column;

    .top {
      height: 50px;
      display: flex;
      align-items: center;

      .icon {
        width: 64px;
        height: 50px;
        display: grid;
        place-items: center;

        img {
          width: 40px;
          height: 40px;
        }
      }

      .title {
        font-weight: bolder;
        color: white;
      }
    }

    .bottom {
      flex: 1;
      overflow: auto;

      .el-menu {
        user-select: none;
        border-right: 0;

        .el-sub-menu {
          .el-menu,
          .el-sub-menu,
          .el-menu-item:not(.el-icon, svg, .is-active) {
            background-color: #061f2e !important;

            *:not(.el-icon, svg, .is-active) {
              background-color: #061f2e !important;
            }
          }
        }

        .el-menu-item.is-active {
          background-color: var(--el-menu-active-color) !important;
          color: white;
        }
      }
    }

    *:not(.el-icon, svg) {
      background-color: #0f2438;
      color: #bfcbd9;
    }
  }

  .right {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;

    .top {
      height: 50px;
      border-bottom: 1px solid rgb(238, 238, 238);
      display: flex;
      justify-content: space-between;

      .collapse {
        height: 100%;
        width: 32px;
        cursor: pointer;
        display: grid;
        place-items: center;
      }

      .crumbs {
        padding-left: 5px;
        display: flex;
        align-items: center;
        width: 100%;
      }

      .operation {
        flex: 1;
        display: flex;
        flex-direction: row-reverse;

        :hover {
          background-color: #f6f6f6;
        }

        .info {
          width: 100px;
          display: grid;
          place-items: center;
          height: 100%;

          .title {
            cursor: pointer;
            height: 100%;
            display: flex;
            align-items: center;
            gap: 5px;

            img {
              height: 28px;
              width: 28px;
              border-radius: 50%;
            }
          }
        }
      }
    }

    .bottom {
      flex: 1;
      padding: 5px;
      overflow-y: hidden;

      &::-webkit-scrollbar {
        width: 8px;
        height: 8px;
      }

      &::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background: #909399;
      }

      > * {
        overflow: auto;
        min-width: 800px;
        display: flex;
        flex-direction: column;
        height: 100%;
      }
    }
  }
}